AI

머신러닝_04_신경망과 딥러닝

작성자 : Heehyeon Yoo|2026-03-16
# 머신러닝# 딥러닝# 신경망# 역전파# 경사하강법

1. 표현 학습으로서의 신경망

전통적인 머신러닝에서 성능은 특징 설계에 크게 의존한다. 사람이 의미 있는 입력 변수를 잘 골라야 모델이 작동한다는 뜻이다. 딥러닝이 기존 접근과 갈라지는 지점은, 이 특징 추출의 일부를 모델 내부 층으로 밀어 넣었다는 데 있다.

가장 작은 단위는 퍼셉트론이다. 퍼셉트론은 입력 벡터에 가중치를 곱해 더한 뒤 활성화 함수를 통과시켜 출력을 만든다. 구조만 보면 선형 결합에 가깝지만, 이런 계산이 여러 층으로 겹치면 입력은 점점 더 추상적인 표현으로 바뀐다.

여기서 중요한 것은 신경망이 "뇌를 흉내 낸다"는 비유보다, 선형 변환과 비선형 변환을 반복하면서 복잡한 함수를 근사하는 모델이라는 점이다. 딥러닝은 신비한 블랙박스라기보다, 표현을 단계적으로 재구성하는 함수 근사기의 한 형태로 이해하는 편이 훨씬 정확하다.

2. 층과 추상화

입력층은 원시 데이터를 받는다. 중간의 은닉층은 이 데이터를 재표현한다. 출력층은 최종 예측값을 낸다. 구조만 놓고 보면 간단하지만, 층이 깊어질수록 데이터 표현은 더 추상적인 수준으로 이동한다.

이미지 예시가 가장 익숙하다. 초기 층은 에지나 단순한 패턴에 반응하고, 더 깊은 층은 모서리 조합이나 형태를 포착하며, 마지막 층에 가까워질수록 물체 범주 같은 고수준 개념에 반응한다. 텍스트나 시계열도 구조는 다르지만 방향은 비슷하다. 저수준 패턴이 중간 표현으로 변환되고, 그 위에서 더 고수준의 관계가 구성된다.

그래서 딥러닝에서 층의 수는 단순히 계산량의 문제가 아니다. 어떤 수준의 표현을 내부적으로 만들고 싶은가와 연결된다. 네트워크 깊이가 커질수록 항상 더 좋아지는 것은 아니지만, 복잡한 패턴을 사람이 직접 설계한 특징 없이 포착하려는 시도와 깊은 연관이 있다.

3. 활성화 함수의 의미

퍼셉트론을 여러 개 겹쳐도 층마다 선형 변환만 반복하면 전체는 여전히 하나의 큰 선형 변환으로 축약된다. 이 경우 신경망을 깊게 쌓을 이유가 거의 없다. 활성화 함수가 필요한 이유가 바로 여기에 있다.

ReLU, sigmoid, tanh 같은 활성화 함수는 층 사이에 비선형성을 넣는다. 덕분에 네트워크는 단순한 직선 경계가 아니라 더 복잡한 결정 경계를 표현할 수 있다. 현대 딥러닝에서는 계산 효율과 그래디언트 전달 특성 때문에 ReLU 계열이 널리 쓰인다.

결국 활성화 함수는 장식이 아니다. 신경망이 깊이를 가지는 이유를 성립시키는 핵심 요소다. 층은 표현을 쌓고, 활성화 함수는 그 표현이 단순 선형 조합으로 무너지지 않게 붙잡는다.

4. 손실 함수와 경사하강법

신경망이 학습된다는 말은 결국 가중치가 조정된다는 뜻이다. 무엇을 기준으로 조정할지는 손실 함수가 정한다. 분류에서는 cross-entropy, 회귀에서는 평균제곱오차처럼 문제 유형에 따라 손실 함수도 달라진다.

손실 함수는 모델이 얼마나 틀렸는지를 수치화한다. 학습의 목적은 이 손실을 가능한 한 줄이는 방향으로 파라미터를 움직이는 것이다. 이때 사용되는 대표적인 최적화 방법이 경사하강법(gradient descent)이다.

경사하강법은 손실 함수의 기울기 방향을 따라 파라미터를 조금씩 갱신한다. 직관적으로 보면 손실이 가장 가파르게 감소하는 방향으로 한 걸음씩 내려가는 방식이다. 실제 구현에서는 전체 데이터를 한 번에 쓰는 배치 경사하강법보다 미니배치, 확률적 경사하강법, Adam 같은 변형이 더 널리 쓰인다.

5. 역전파와 깊은 최적화

신경망이 얕은 선형 모델과 다른 가장 큰 이유 중 하나는, 층이 깊어져도 각 가중치를 학습시킬 수 있다는 점이다. 이걸 가능하게 만드는 계산 방법이 역전파다.

역전파는 출력에서 계산된 손실을 시작점으로 삼아, 체인 룰을 이용해 각 층의 파라미터가 손실에 얼마나 기여했는지를 뒤에서 앞으로 전달한다. 말하자면 최종 오차의 책임을 층별로 분해해 전달하는 절차다.

이 과정 덕분에 신경망은 마지막 층만이 아니라 앞단의 표현 층까지 함께 수정할 수 있다. 딥러닝이 중요한 이유도 결국 여기에 있다. 표현을 사람이 고정하지 않고, 오차 신호를 통해 표현 자체를 학습할 수 있기 때문이다.

물론 구조가 깊어질수록 학습은 쉬워지지 않는다. 기울기 소실, 기울기 폭주, 과적합, 데이터 요구량 증가 같은 문제가 함께 따라온다. 그래서 딥러닝은 "층을 많이 쌓으면 더 똑똑해진다"는 단순한 낙관론보다, 표현 학습의 힘과 최적화 난이도를 동시에 다뤄야 하는 분야로 보는 편이 맞다.